package com.yuetong.employee.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yuetong.common.annotation.Excel;
import com.yuetong.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 职工基本信息对象 yt_employee_basic_info
 * 
 * @author  卓晓君
 * @date 2025-04-24
 */
public class YtEmployeeBasicInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 职工唯一标识符 */
    private Long employeeId;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 性别（0男 1女 2未知） */
    @Excel(name = "性别", readConverterExp = "0=男,1=女,2=未知")
    private String sex;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dateOfBirth;

    /** 民族 */
    @Excel(name = "民族")
    private String nationality;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String phoneNumber;

    /** 电子邮件 */
    @Excel(name = "电子邮件")
    private String email;

    /** 住址 */
    @Excel(name = "住址")
    private String address;

    /** 紧急联系人姓名 */
    @Excel(name = "紧急联系人姓名")
    private String emergencyContactName;

    /** 紧急联系人电话 */
    @Excel(name = "紧急联系人电话")
    private String emergencyContactPhone;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;
    @Excel(name = "教育")
    private String education;
    /** 证件照信息信息 */
    private List<YtEmployeeDocuments> ytEmployeeDocumentsList;
    private List<ytEmployeeEducation> ytEmployeeEducationList;
//教育背景
public List<ytEmployeeEducation> getytEmployeeEducationList()
{
    return ytEmployeeEducationList;
}

    public void setytEmployeeEducationList (List<ytEmployeeEducation> ytEmployeeEducationList)
    {
        this.ytEmployeeEducationList= ytEmployeeEducationList;
    }
    /** 入职信息信息 */
    private List<YtEmployeeEntryInfo> ytEmployeeEntryInfoList;




    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setEmployeeId(Long employeeId) 
    {
        this.employeeId = employeeId;
    }

    public Long getEmployeeId() 
    {
        return employeeId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setSex(String sex) 
    {
        this.sex = sex;
    }

    public String getSex() 
    {
        return sex;
    }
    public void setDateOfBirth(Date dateOfBirth) 
    {
        this.dateOfBirth = dateOfBirth;
    }

    public Date getDateOfBirth() 
    {
        return dateOfBirth;
    }
    public void setNationality(String nationality) 
    {
        this.nationality = nationality;
    }

    public String getNationality() 
    {
        return nationality;
    }
    public void setPhoneNumber(String phoneNumber) 
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber() 
    {
        return phoneNumber;
    }
    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setEmergencyContactName(String emergencyContactName) 
    {
        this.emergencyContactName = emergencyContactName;
    }

    public String getEmergencyContactName() 
    {
        return emergencyContactName;
    }
    public void setEmergencyContactPhone(String emergencyContactPhone) 
    {
        this.emergencyContactPhone = emergencyContactPhone;
    }

    public String getEmergencyContactPhone() 
    {
        return emergencyContactPhone;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public List<YtEmployeeDocuments> getYtEmployeeDocumentsList()
    {
        return ytEmployeeDocumentsList;
    }

    public void setYtEmployeeDocumentsList(List<YtEmployeeDocuments> ytEmployeeDocumentsList)
    {
        this.ytEmployeeDocumentsList = ytEmployeeDocumentsList;
    }
    public List<YtEmployeeEntryInfo> getYtEmployeeEntryInfoList()
    {
        return ytEmployeeEntryInfoList;
    }

    public void setYtEmployeeEntryInfoList(List<YtEmployeeEntryInfo> ytEmployeeEntryInfoList)
    {
        this.ytEmployeeEntryInfoList = ytEmployeeEntryInfoList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("userId", getUserId())
            .append("employeeId", getEmployeeId())
            .append("name", getName())
            .append("sex", getSex())
            .append("dateOfBirth", getDateOfBirth())
            .append("nationality", getNationality())
            .append("phoneNumber", getPhoneNumber())
            .append("email", getEmail())
            .append("address", getAddress())
            .append("emergencyContactName", getEmergencyContactName())
            .append("emergencyContactPhone", getEmergencyContactPhone())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("delFlag", getDelFlag())
            .append("remark", getRemark())
            .append("ytEmployeeDocumentsList", getYtEmployeeDocumentsList())
                .append("ytEmployeeEntryInfoList", getYtEmployeeEntryInfoList())
                .append("ytEmployeeEducationList", getytEmployeeEducationList())
            .toString();
    }

    public String getEducation() {
        return education;
    }

    public void setEducation(String education) {
        this.education = education;
    }
}
